Skip to main content

排查触发器超时问题

在 Zap 编辑器中测试触发器

约束

当用户在 Zap 编辑器中点击 Test Trigger 时,您的 perform(轮询)或 performList(REST Hook)的输出必须在 30 秒内返回。

如果违反约束,用户将看到的错误

  • "应用程序未及时响应。它可能已成功完成,也可能未完成。"

  • "创建样本时出错:我们的计算机遇到了问题"

  • "我们找不到更多 x。请在您的账户中创建一个新的 x,然后重试。"

最佳实践

Zap 编辑器在处理样本数据时,只会同时处理三个新记录,因此一种加速响应的方法是,在测试触发器时,将返回的结果限制为三个记录。

要判断请求是否是为样本数据,可以使用 bundle meta 参数 bundle.meta.isLoadingSample。当该参数为 true 时,表示用户正在 Zap 编辑器中进行测试,此时您的集成可以返回一个有限的负载。更多关于 bundle.meta 属性的信息,请参见此处

触发器在 Zap 中的运行

约束

每次 Zap 执行时,触发器的 perform 方法必须在 30 秒内完成处理。轮询触发器会根据用户的 Zapier 计划(间隔为 1 到 15 分钟)运行。REST Hook 触发器则在收到传入的 POST 请求到其订阅 URL 时运行。

如果违反约束,用户将看到的错误

  • 用户会收到一封包含错误消息的电子邮件,通常消息中带有 "触发器合作伙伴失败"。以下是触发器因超时而错误时发送的电子邮件示例:

Platform UI vs CLI comparison

最佳实践

  • 对于轮询触发器,如果您的 API 端点支持针对记录数量或日期时间的请求过滤,请使用这些过滤来减少返回的记录数量。

  • 对于两种类型的触发器,请优化 perform 脚本中对负载的处理操作。

  • 高效使用控制台日志记录。它可以帮助您定位问题所在,但过多的控制台日志记录 可能会因日志开销导致超时。

  • 如果每个记录有多重请求导致超时,请使用 Zapier 平台的脱水函数。这样不是立即发出请求,而是创建一个脱水指针,只有在后续步骤中 Zap 需要激活属性时才会发出请求。


需要帮助?告诉我们您的问题,我们会为您连接合适的资源或联系支持。